package com.jyw.business.ast.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jyw.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 资产-资产信息对象 ast_info
 * 
 * @author system
 * @date 2023-09-20
 */
@Data
@TableName("ast_info")
@ApiModel("资产-资产信息实体")
public class AstInfo
{
    private static final long serialVersionUID = 1L;

    /** ID */
    @ApiModelProperty("ID")
    @TableId(type = IdType.AUTO)
    private Long id;

    /** 名称 */
    @ApiModelProperty("名称")
    @Excel(name = "名称")
    private String name;

    /** 规格型号 */
    @ApiModelProperty("规格型号")
    @Excel(name = "规格型号")
    private String model;

    /** 使用日期 */
    @ApiModelProperty("使用日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "使用日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date useDate;

    /** 使用年限 */
    @ApiModelProperty("使用年限")
    @Excel(name = "使用年限")
    private BigDecimal years;

    @ApiModelProperty("使用年限单位")
    private String useUnit;

    /** 设备状态(数据字典) */
    @ApiModelProperty("设备状态(数据字典)")
    @Excel(name = "设备状态(数据字典)")
    private String equipmentState;

    /** 资产类型(数据字典) */
    @ApiModelProperty("资产类型(数据字典)")
    @Excel(name = "资产类型(数据字典)")
    private String assetsType;

    /** 资产来源(数据字典) */
    @ApiModelProperty("资产来源(数据字典)")
    @Excel(name = "资产来源(数据字典)")
    private String assetsSource;

    /** 资产编号 */
    @ApiModelProperty("资产编号")
    @Excel(name = "资产编号")
    private String assetsCode;

    /** 设备S/N码 */
    @ApiModelProperty("设备S/N码")
    @Excel(name = "设备S/N码")
    private String seriesNumb;

    /** 是否公共设备  */
    @ApiModelProperty("是否公共设备 ")
    @Excel(name = "是否公共设备 ")
    private Integer isPublic;

    /** 计量周期 */
    @ApiModelProperty("保养维护周期")
    @Excel(name = "保养维护周期")
    private Integer meteringTimer;

    @ApiModelProperty("保养维护周期单位(数据字典)")
    private String meteringUnit;

    /** 使用科室 */
    @ApiModelProperty("使用科室")
    @Excel(name = "使用科室")
    private Long useDept;

     /** 所在位置 */
    @ApiModelProperty("所在位置")
    @Excel(name = "所在位置")
    private String place;

    /** 使用责任人 */
    @ApiModelProperty("使用责任人")
    @Excel(name = "使用责任人")
    private Long personLiable;

    /** 维保期限 */
    @ApiModelProperty("维保期限")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "维保期限", width = 30, dateFormat = "yyyy-MM-dd")
    private Date maintainTerm;

    /** 维保公司 */
    @ApiModelProperty("维保公司")
    @Excel(name = "维保公司")
    private Long maintainCompany;

    /** 维保责任人 */
    @ApiModelProperty("维保责任人")
    @Excel(name = "维保责任人")
    private Long maintainUser;

    /** 资产维护类型(1用户 2小组 3科室) */
    @ApiModelProperty("资产维护类型(1用户 2小组 3科室)")
    @Excel(name = "资产维护类型(1用户 2小组 3科室)")
    private Integer maintainInsideType;

    /** 指定维护对象标识 */
    @ApiModelProperty("指定维护对象标识")
    @Excel(name = "指定维护对象标识")
    private Long maintainObjId;

    /** 备注 */
    @ApiModelProperty("备注")
    @Excel(name = "备注")
    private String remark;

    /** 附件 */
    @ApiModelProperty("附件")
    @Excel(name = "附件")
    private String enclosure;

    /** 采购编号 */
    @ApiModelProperty("采购编号")
    @Excel(name = "采购编号")
    private String purchaseCode;

    /** 项目名称 */
    @ApiModelProperty("项目名称")
    @Excel(name = "项目名称")
    private String projectName;

    /** 采购日期 */
    @ApiModelProperty("采购日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "采购日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date purchaseDate;

    /** 采购价格 */
    @ApiModelProperty("采购价格")
    @Excel(name = "采购价格")
    private BigDecimal purchasePrice;

    /** 采购数量 */
    @ApiModelProperty("采购数量")
    @Excel(name = "采购数量")
    private Long purchaseNumber;

    /** 品牌(数据字典) */
    @ApiModelProperty("品牌(数据字典)")
    @Excel(name = "品牌(数据字典)")
    private String brand;

    /** 生产厂商 */
    @ApiModelProperty("生产厂商")
    @Excel(name = "生产厂商")
    private String manufacturer;

    /** 售后电话 */
    @ApiModelProperty("售后电话")
    @Excel(name = "售后电话")
    private String salesPhone;

    /** 供应商 */
    @ApiModelProperty("供应商")
    @Excel(name = "供应商")
    private String supplier;

    /** 供应商电话 */
    @ApiModelProperty("供应商电话")
    @Excel(name = "供应商电话")
    private String supplierPhone;

    /** 产地 */
    @ApiModelProperty("产地")
    @Excel(name = "产地")
    private String originPlace;

    /** IP地址 */
    @ApiModelProperty("IP地址")
    @Excel(name = "IP地址")
    private String ipPlace;

    /** MAC地址 */
    @ApiModelProperty("MAC地址")
    @Excel(name = "MAC地址")
    private String macPlace;

    /** 操作系统(数据字典) */
    @ApiModelProperty("操作系统(数据字典)")
    @Excel(name = "操作系统(数据字典)")
    private String operatingSystem;

    /** 系统版本 */
    @ApiModelProperty("系统版本")
    @Excel(name = "系统版本")
    private String systemVersion;

    /** 配置信息 */
    @ApiModelProperty("配置信息")
    @Excel(name = "配置信息")
    private String configuration;

    /** 状态(1启用0禁用) */
    @ApiModelProperty("状态(1启用0禁用)")
    @Excel(name = "状态(1启用0禁用)")
    private Integer state;

    /** 创建人(创建人) */
    @ApiModelProperty("创建人(创建人)")
    @Excel(name = "创建人(创建人)")
    private Long createUser;

    /** 修改人(修改人) */
    @ApiModelProperty("修改人(修改人)")
    @Excel(name = "修改人(修改人)")
    private Long updateUser;

    /** 创建时间(创建时间) */
    @ApiModelProperty("创建时间(创建时间)")
    private Date createTime;

    /** 修改时间(修改时间) */
    @ApiModelProperty("修改时间(修改时间)")
    private Date updateTime;

    /** 所属巡检单元 */
    @ApiModelProperty("所属巡检单元")
    @Excel(name = "所属巡检单元")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Long pertainUnit;

    @ApiModelProperty("使用截止日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date useOverDate;

    @ApiModelProperty("下次保养日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date nextMeteringDate;

}
